home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Assassins - Ultimate CD Games Collection 2
/
Assassins 2 - Ultimate Games No. 2 (1995)(Weird Science)[!][Amiga-CD32-CDTV].iso
/
arcade
/
shark
/
read.me
< prev
next >
Wrap
Text File
|
1995-01-01
|
10KB
|
222 lines
SHARK! (C) 1989 Jim Webster
All Rights Reserved
Technical Information About SHARK!
--------- ----------- ----- -----
SHARK! uses animation objects (or AnimObs) in a double-buffered screen to
achieve its results. The shark, and it's prey the perch, are actually
composed of six such AnimObs, one for each direction. Each of these AnimObs
are in turn composed of three Blitter Objects, or Bobs, which show each
individual "frame" of the fish as it wiggles back and forth. When the shark
is swimming horizontally from left to right, for example, you are seeing
a series of alternating Bobs that correspond to only one of six AnimObs,
while the other five shark AnimObs are not shown on screen.
Each AnimOb also has x and y screen coordinates, as well as velocity
values in both x and y directions. These velocity values determine how fast
the shark, or perch, can travel in a given direction, and play a large part
in determining how easy -- or hard -- the game is. In beginner mode, for
example, the overall velocity of the shark is greater than the perch, making
the perch easier to catch. There are a lot of other variables that go into
SHARK!, however, and the best way to describe them is to describe how you
can run SHARK! from the CLI.
Customizing SHARK!: Command Line Arguments
----------- ------ ------- ---- ---------
SHARK! can of course be run from Workbench simply by double clicking its
icon. You can also run SHARK! by entering SHARK! into a CLI or Shell. Just
typing SHARK! by itself will run it same way as clicking the icon, but if
you add command line arguments, you can have more direct control over the
"playability" of the game.
The following is a summary of the possible command line arguments, and
the effect each has on the game. PLEASE NOTE: the arguments must be entered
in the EXACT ORDER given below. Plus, even though SHARK! is a multi-tasking
game, use command line arguments AT YOUR OWN RISK! I cannot guarantee that
your (hopefully recoverable) RAM disk will survive if you step into these
waters...
Template:
SHARK! <pic file> <meal sound file> <death sound file>
<sharkhungerlevel> <sharkstarvelevel> <clickhungerunits>
<highspeedhungerunits> <lowspeedhungerunits> <sharkvel>
<addsharkcycle> <highspeedfactor> <lowspeedfactor> <hardercycle>
<perchvel> <perchvelLIMIT> <perchvelADD> <randomchangeperch>
<changeperchlevel> <changeperchlevelADD> <changeperchlevelLIMIT>
<changeperchodds> <<changeperchoddsADD> <changeperchoddsLIMIT>
If you wish to use the DEFAULT value for any of the variables above, you
should use a 'd'. For example,
SHARK! myocean d mydeathsound
will try to load a picture file named "myocean" as the background, will use
the default meal sound, and will try to load the sampled sound file
"mydeathsound" to replace the default death sound.
An explanation for each of the arguments, plus their default values, is
as follows:
pic file: name of an IFF picture file. Default: "ocean". If "ocean" is
not in the current directory, and no pic file is specified, you'll
get a black screen as background. If the specified pic file can't
be loaded, SHARK! will try to load "ocean".
meal sound file: name of an IFF 8SVX digitized sound file. Default: a
built-in "gulp" sound, i.e. no file is required.
death sound file: also an 8SVX sound file. Default: a built-in "gasp"
sound.
NOTE: You will still be presented with the option of playing at beginner,
intermediate or expert level, and if you make top ten your score will be
saved in whatever level you had chosen for that game. However, if you use
any of the command line arguments described below, SHARK! will NOT use any
of the settings for your play level choice.
The next seven arguments relate to the shark only, and are all integers:
sharkhungerlevel: Each time the shark and perch positions are updated and
displayed onscreen, a counter ticks. When this counter reaches the
sharkhungerlevel value, the screen flashes to tell you that the
shark is "hungry". When the shark gets a meal, the counter is reset
to zero. Default value: 275.
sharkstarvelevel: the number of counter ticks before the shark (assuming
no meal) starves to death. Default value: 400.
clickhungerunits: When you click the left mouse button to change the
shark's direction, you use up a little extra "energy", i.e. the
counter is increased by this value. This increase happens once
each time you change direction. Default value: 20.
highspeedhungerunits: going fast (by pressing space bar) increases the
counter by this value each time the screen is updated. Default
value: 3.
lowspeedhungerunits: going normal speed increases the counter by this
amount. Normally it's lower than highspeedhungerunits. Default
value: 1.
sharkvel: short for shark velocity. Divide this number by 64 to get the
total number of pixel positions the shark moves for each screen
update. The x and v velocity, when added together, equal this
number. Default value: 308.
addsharkcycle: The sharks added here are the "baby" sharks in the lower
right hand corner, of which 3 is the maximum. Every arcade game has
these, right? addsharkcycle tells you how many perch you gotta eat
before you get another spare. Default: 10, i.e. every tenth meal
you get an extra shark, assuming limit of 3 has not been exceeded.
The next two arguments are floating point decimal values that pertain to
the shark's speed up and slow down option.
highspeedfactor: how much faster the shark goes when you put the pedal to
the spacebar. Shark's current speed (sharkvel) is multiplied by
this number. Default value: 1.5.
lowspeedfactor: Default: 1.0/highspeedfactor, to bring shark back to
original speed, but just for ducks you might try something bizarre.
The remaining arguments are integers, and pertain to the perch only. As the
game progresses, and you catch more perch, the perch become faster and more
elusive.
hardercycle: like addsharkcycle, this pertains to a cyclical event. In
this case, how frequently the perch become harder to catch. Every
hardercycle meals, a routine called makeharder() is called.
Default value: 15.
perchvel: similar to sharkvel. Default value : 308, i.e. shark and perch
start out with identical velocities.
perchvelLIMIT: Perch get faster with each call to makeharder(), but only
up to this limit. Default value: 320.
perchvelADD: This number gets added to perchval each time makeharder() is
called. Default value : 4.
randomchangeperch: actually, this is a boolean value, so any non-zero
value will make it TRUE. If true, the perch will occasionally
change direction at random; if not true, it will continue in a
straight line. Default value: true.
The remaining arguments pertain to the frequency with which the perch
changes direction.
changeperchlevel: The perch travels in a straight line until the counter
reaches this value, at which point the perch MAY change direction
with each passing screen update. Default value: 100.
changeperchlevelADD: With each meal, the next perch MAY change direction
slightly sooner than the pervious one. This normally negative
number is added to changeperchlevel to lower it. Default value: -8.
changeperchlevelLIMIT: how far changeperchlevel can go before
changeperchlevelADD has no effect. Default value: 40.
changeperchodds: After the counter has reached changeperchlevel, this
number is used in conjunction with a random number generator to
determine if the perch actually WILL change direction; this check
occurs after each screen update. If changeperchodds is greater than
a random number between 0 and 99, then the direction change will
occur before the next screen update. Default value: 10.
changeperchoddsADD: in makeharder(), this number is added to
changeperchodds to increase the likelihood of a direction change
with each screen update. Default value: 4.
changeperchoddsLIMITS: makeharder() will not add changeperchoddsADD if
changeperchodds has already passed or equaled this limit. Any
number above 99 has the same effect as 99. Default value: 50, i.e.
no better than 1 in 2 odds of a direction change.
It may not be real clear to anyone but myself what all these variables
mean, but there's no reason why you can't experiment with them anyway. In
particular, you may want to max out on speed, but at a certain point you'll
find that occasionally your "collision course" between shark and perch fails
because the screen update carries the shark past the perch before the
collision test can be made.
Here are a few interesting arguments you can make:
Putting highspeedfactor = 2.0 really speeds things up nicely.
Setting changeperchlevel to 0 will start perch changing direction right
away; setting changeperchodds to a high number, say 30, will really get the
fish jumping around.
For longer games, set sharkstarvelevel and sharkhungerlevel up high, say
1200 and 1000.
If you're playing with difficult settings (i.e., fast and shifty perch,
low starve level) you can prolong the game by reducing the number of meals
it takes to get an extra shark; say, set addsharkcycle to 5 instead of 10.
If you find a particularly good game setting and want to repeat it, you
can make a batch file out of it and then execute the batch file. For
example, use your favorite text editor and create a file named "xshark",
which consists of one line:
SHARK! d d d 500 650 10 d d 350
Make sure this line ends in a carriage return, save file, then enter from
the CLI or shell:
execute xshark
This will run SHARK! with sharkhungerlevel set to 500, sharkstarvelevel
to 650, clickhungerunits to 10, and sharkvel to 350; all other variables
will retain their default values. Along with SHARK!'s support files you
should find several files, each beginning with x, which are batch files I've
already created for your enjoyment, curiosity or disgust.
Enjoy. Remember: just when you think it's safe to return to Workbench...
Jim Webster
1819 Addison #7
Berkeley, CA 94703
415-841-9325